home *** CD-ROM | disk | FTP | other *** search
/ Religions of the World / Religions of the World.iso / religion.mst < prev    next >
Text File  |  1995-08-01  |  9KB  |  345 lines

  1. '**************************************************************************
  2. '*             Religions of the World (Retail) CD-ROM Setup
  3. '*
  4. '*             K.McFarlane 1/8/95
  5. '**************************************************************************
  6.  
  7. '$DEFINE DEBUG  ''Define for script development/debugging
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc'
  11. '$INCLUDE 'ilpsetup.inc'
  12.  
  13. ''Dialog ID's
  14. CONST WELCOME       = 100
  15. CONST ASKQUIT       = 200
  16. CONST DESTPATH      = 300
  17. CONST EXITFAILURE   = 400
  18. CONST EXITQUIT      = 600
  19. CONST EXITSUCCESS   = 700 
  20. CONST EXITSUCCESS_NOVIDEO     = 710
  21. CONST EXITSUCCESS_OLDVIDEO     = 720
  22. CONST OPTIONS       = 800
  23. CONST APPHELP       = 900
  24. CONST OPTIONSHELP   = 910
  25. CONST PATHHELP      = 920 
  26. CONST TOOBIG        = 6300
  27. CONST BADPATH       = 6400
  28.  
  29. ''Bitmap ID
  30. CONST LOGO = 1
  31.  
  32. CONST HARDDISCOPTION$ = "2"
  33. CONST CDROMOPTION$ = "1"
  34.  
  35. GLOBAL DEST$        ''Default destination directory.
  36. GLOBAL OPTCUR$      ''Option selection from option dialog.
  37.  
  38. DECLARE SUB DiskInstall
  39. DECLARE SUB CDROMInstall
  40. DECLARE SUB CreateIniFile
  41.  
  42. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  43.  
  44.  
  45. INIT:
  46.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  47.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  48.  
  49.     SetBitmap CUIDLL$, LOGO
  50.     SetTitle "Religions of the World CD-ROM Setup"
  51.  
  52.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  53.     IF szInf$ = "" THEN
  54.         szInf$ = GetSymbolValue("STF_CWDDIR") + "RELIGION.INF"
  55.     END IF
  56.     ReadInfFile szInf$
  57.  
  58.     OPTCUR$ = CDROMOPTION$
  59.     DEST$ = "C:\RELIGION"
  60.  
  61. '$IFDEF DEBUG
  62.     i% = SetCopyMode(1)
  63.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  64.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  65.     IF IsDriveValid(WinDrive$) = 0 THEN
  66.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  67.         GOTO QUIT
  68.     END IF
  69. '$ENDIF ''DEBUG
  70.  
  71.  
  72. WELCOME:
  73.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  74.     IF sz$ = "CONTINUE" THEN
  75.         UIPop 1
  76.     ELSE
  77.         GOSUB ASKQUIT
  78.         GOTO WELCOME
  79.     END IF
  80.  
  81.  
  82. OPTION:
  83.     SetSymbolValue "RadioDefault", OPTCUR$
  84. OPTL1:
  85.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", OPTIONSHELP, HELPPROC$)
  86.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  87.  
  88.     IF sz$ = "CONTINUE" THEN
  89.         UIPop(1)
  90.     ELSEIF sz$ = "REACTIVATE" THEN
  91.         GOTO OPTL1
  92.     ELSE
  93.         GOSUB ASKQUIT
  94.         GOTO OPTION
  95.     END IF
  96.  
  97. SETUP:
  98.        IF OPTCUR$ = HARDDISCOPTION$ THEN
  99.            GOTO GETPATH
  100.        ELSE
  101.            GOTO STARTINSTALL
  102.        ENDIF
  103.            
  104.  
  105.  
  106. GETPATH:
  107.     SetSymbolValue "EditTextIn", DEST$
  108.     SetSymbolValue "EditFocus", "END"
  109. GETPATHL1:
  110.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", PATHHELP, HELPPROC$)
  111.     DEST$ = GetSymbolValue("EditTextOut")
  112.  
  113.     IF sz$ = "CONTINUE" THEN
  114.         IF IsDirWritable(DEST$) = 0 THEN
  115.             GOSUB BADPATH
  116.             GOTO GETPATHL1
  117.         ENDIF
  118.         
  119.         IF GetFreeSpaceForDrive(MID$(DEST$, 1, 1)) < 1250000 THEN
  120.             GOSUB TOOBIG
  121.             GOTO GETPATHL1
  122.         ENDIF
  123.         
  124.         UIPop 1
  125.     ELSEIF sz$ = "REACTIVATE" THEN
  126.         GOTO GETPATHL1
  127.     ELSEIF sz$ = "BACK" THEN
  128.         UIPop 1
  129.         GOTO OPTION
  130.     ELSE
  131.         GOSUB ASKQUIT
  132.         GOTO GETPATH
  133.     END IF
  134.  
  135.     
  136. STARTINSTALL:    
  137.     IF OPTCUR$ = HARDDISCOPTION$ THEN
  138.            DiskInstall
  139.        ELSE
  140.            CDROMInstall
  141.        ENDIF
  142.  
  143. QUIT:
  144.     ON ERROR GOTO ERRQUIT 
  145.  
  146.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  147.     
  148.     i%=CheckVideoInstallation()
  149.     
  150.     IF ERR = 0 THEN
  151.         
  152.         IF i%=VIDEO_NOTINSTALLED THEN
  153.         
  154.             dlg% = EXITSUCCESS_NOVIDEO
  155.             CreateProgmanItem "Religions of the World", "Video for Windows v1.1 Setup", MakePath(SrcDir$,"video\setup.exe"), "", cmoOverwrite
  156.             
  157.         ELSEIF i%=VIDEO_OLDVERSION THEN
  158.         
  159.             dlg% = EXITSUCCESS_OLDVIDEO
  160.             CreateProgmanItem "Religions of the World", "Video for Windows v1.1 Setup", MakePath(SrcDir$,"video\setup.exe"), "", cmoOverwrite
  161.         
  162.         ELSE
  163.             dlg% = EXITSUCCESS
  164.         END IF
  165.         
  166.     ELSEIF ERR = STFQUIT THEN
  167.         dlg% = EXITQUIT
  168.     ELSE
  169.         dlg% = EXITFAILURE
  170.     END IF
  171.             
  172. QUITL1:
  173.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  174.     IF sz$ = "REACTIVATE" THEN
  175.         GOTO QUITL1
  176.     END IF
  177.     UIPop 1
  178.  
  179.     END
  180.  
  181. ERRQUIT:
  182.     i% = DoMsgBox("Setup sources were corrupted", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  183.     END
  184.  
  185.  
  186.  
  187. BADPATH:
  188.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  189.     IF sz$ = "REACTIVATE" THEN
  190.         GOTO BADPATH
  191.     END IF
  192.     UIPop 1
  193.     RETURN
  194.  
  195. TOOBIG:
  196.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  197.     IF sz$ = "REACTIVATE" THEN
  198.         GOTO TOOBIG
  199.     END IF
  200.     UIPop 1
  201.     RETURN
  202.  
  203.  
  204.  
  205. ASKQUIT:
  206.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  207.  
  208.     IF sz$ = "EXIT" THEN
  209.         UIPopAll
  210.         ERROR STFQUIT
  211.     ELSEIF sz$ = "REACTIVATE" THEN
  212.         GOTO ASKQUIT
  213.     ELSE
  214.         UIPop 1
  215.     END IF
  216.     RETURN
  217.  
  218.  
  219.  
  220. '**
  221. '** Purpose:
  222. '**     Copy program files to hard disc
  223. '** Arguments:
  224. '**     none.
  225. '** Returns:
  226. '**     none.
  227. '*************************************************************************
  228. SUB DiskInstall STATIC
  229.     
  230.         
  231.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  232.         
  233.     DestDrive$ = MID$(DEST$, 1, 1)
  234.     
  235.     CreateDir DEST$, cmoNone
  236.  
  237.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  238.     
  239.     CopyFilesInCopyList
  240.   
  241.     CreateIniFile
  242.     
  243.     rem since we're installing to HD add the app path to the ini file...
  244.  
  245.     ini$ = MakePath(GetWindowsDir(), "RELIGION.INI")
  246.     CreateIniKeyValue ini$, "path", "app", MakePath(DEST$,"rel.exe"), cmoNone
  247.     
  248.     CreateProgmanGroup "Religions of the World", "", cmoNone
  249.     ShowProgmanGroup  "Religions of the World", 1, cmoNone
  250.     CreateProgmanItem "Religions of the World", "Religions", MakePath(DEST$,"rel.exe"), "", cmoOverwrite
  251.    
  252.     rem  CloseLogFile
  253.  
  254. END SUB
  255.  
  256.  
  257.  
  258. '**
  259. '** Purpose:
  260. '**     Installs software to run from CD-ROM
  261. '** Arguments:
  262. '**     none.
  263. '** Returns:
  264. '**     none.
  265. '*************************************************************************
  266. SUB CDROMInstall STATIC
  267.     
  268.         
  269.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  270.         
  271.     ''OpenLogFile MakePath(DEST$, "LOGFILE.TXT"), 0
  272.     ''WriteToLogFile ""
  273.     ''WriteToLogFile "CD-ROM Installation Option"
  274.     ''WriteToLogFile "Source Directory : " + SrcDir$
  275.     ''WriteToLogFile ""
  276.  
  277.     CreateIniFile
  278.     
  279.     CreateProgmanGroup "Religions of the World", "", cmoNone
  280.     ShowProgmanGroup  "Religions of the World", 1, cmoNone
  281.     CreateProgmanItem "Religions of the World", "Religions", MakePath(SrcDir$,"rel.exe"), "", cmoOverwrite   
  282.     ''CloseLogFile
  283.  
  284. END SUB
  285.  
  286.  
  287.  
  288. '**
  289. '** Purpose:
  290. '**     Write INI file
  291. '** Arguments:
  292. '**     none.
  293. '** Returns:
  294. '**     none.
  295. '*************************************************************************
  296. SUB CreateIniFile STATIC
  297.     
  298.         
  299.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  300.     DatabasePath$ = MID$(SrcDir$, 1, 1)+":\data"
  301.     width%=GetScreenWidth()
  302.     height%=GetScreenHeight()
  303.     IF width% <= 640 THEN
  304.        x%=-4
  305.        y%=-4
  306.     ELSE
  307.        x%=10
  308.        y%=10
  309.     ENDIF
  310.            
  311.     ini$ = MakePath(GetWindowsDir(), "RELIGION.INI")
  312.     CreateIniKeyValue ini$, "database", "path",     DatabasePath$, cmoNone
  313.     CreateIniKeyValue ini$, "window",     "x",         STR$(x%), cmoNone
  314.     CreateIniKeyValue ini$, "window",     "y",         STR$(y%), cmoNone
  315.     CreateIniKeyValue ini$, "window",     "w",         STR$(width%), cmoNone
  316.     CreateIniKeyValue ini$, "window",     "h",         STR$(height%), cmoNone
  317.     CreateIniKeyValue ini$, "window",     "maximised","0", cmoNone
  318.         
  319.  
  320. END SUB
  321.  
  322.      
  323. '**
  324. '** Purpose:
  325. '**     Appends a file name to the end of a directory path,
  326. '**     inserting a backslash character as needed.
  327. '** Arguments:
  328. '**     szDir$  - full directory path (with optional ending "\")
  329. '**     szFile$ - filename to append to directory
  330. '** Returns:
  331. '**     Resulting fully qualified path name.
  332. '*************************************************************************
  333. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  334.     IF szDir$ = "" THEN
  335.         MakePath = szFile$
  336.     ELSEIF szFile$ = "" THEN
  337.         MakePath = szDir$
  338.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  339.         MakePath = szDir$ + szFile$
  340.     ELSE
  341.         MakePath = szDir$ + "\" + szFile$
  342.     END IF
  343. END FUNCTION
  344.  
  345.